﻿Public Class xtf_LISTADOpersonal_internos

    Public Overrides Sub IniciarLista()
        Try
            gdc_general.BeginUpdate()
            gdc_general.DataSource = dtt_DataTable
            'ulg_Lista.DisplayLayout.GroupByBox.Style = Infragistics.Win.UltraWinGrid.GroupByBoxStyle.Full

            'Creacion y carga de Cuentas
            dtt_DataTable.Columns.Add("Identificador (ID)")
            dtt_DataTable.Columns.Add("Apellido")
            dtt_DataTable.Columns.Add("Nombres")
            dtt_DataTable.Columns.Add("Iniciales/Apodo")
            dtt_DataTable.Columns.Add("Celular (Empresa)")
            dtt_DataTable.Columns.Add("Interno")
            dtt_DataTable.Columns.Add("Horario")
            dtt_DataTable.Columns.Add("Fecha de Nacimiento")
            dtt_DataTable.Columns.Add("Edad")
            dtt_DataTable.Columns.Add("E-mail (Empresa)")
            dtt_DataTable.Columns.Add("Gerencia")
            dtt_DataTable.Columns.Add("Sector")
            dtt_DataTable.Columns.Add("Cargo")
            dtt_DataTable.Columns.Add("Centro de Costo")
            dtt_DataTable.Columns.Add("Nota")
           
            gdv_general.PopulateColumns(dtt_DataTable)

            Dim obj_Personal_ As New cls_personal_
            If obj_Personal_.CargarTodos Then
                For Each Personal As cls_personal_ In obj_Personal_.Items
                    AgregarItem(Personal)
                Next
            End If
            'ulg_Lista.DataBind()

            FiltrarColumnas()
            gdc_general.EndUpdate()
        Catch ex As Exception
            'Dim frmError As New frm_ErrorManager(ex.Message)
        End Try
    End Sub

    Public Function AgregarItem(ByRef Personal As cls_personal_) As DataRow
        Dim Row As DataRow = dtt_DataTable.NewRow

        Row("Identificador (ID)") = Personal.idpersonal
        Row("Apellido") = Personal.tercero.nombres
        Row("Nombres") = Personal.tercero.apellido
        Row("Iniciales/Apodo") = Personal.iniciales

        If Not IsNothing(Personal.tercero.telefono_) Then
            For Each telefono As cls_telefono_ In Personal.tercero.telefono_.Items
                If telefono.idtipotelefono = idTipoTelefonoEmpresa Then
                    Row("Celular (Empresa)") = telefono.ToString
                End If
            Next
        End If

        Row("Interno") = Personal.numerointerno
        Row("Horario") = Personal.tercero.horario
        Row("Fecha de Nacimiento") = Personal.fechanacimiento.ToShortDateString

        Dim Años As Object
        Años = DateDiff("yyyy", Personal.fechanacimiento, Now)
        If Now.Date < DateSerial(Year(Now), Month(Personal.fechanacimiento), Personal.fechanacimiento.Day) Then
            Años = Años - 1
        End If
        Row("Edad") = CInt(Años)


        If Not IsNothing(Personal.tercero.email_) Then
            For Each email As cls_email_ In Personal.tercero.email_.Items
                If email.idtipoemail = idTipoEmailEmpresa Then
                    Row("E-mail (Empresa)") = email.ToString
                End If
            Next
        End If

        If Not IsNothing(Personal.gerencia) Then
            Row("Gerencia") = Personal.gerencia.ToString
        End If
        If Not IsNothing(Personal.sector) Then
            Row("Sector") = Personal.sector.ToString
        End If
        If Not IsNothing(Personal.tercero.emailprimario) Then
            Row("Cargo") = Personal.cargo.ToString
        End If
        If Not IsNothing(Personal.centrocostoorden) Then
            Row("Centro de Costo") = Personal.centrocostoorden.ToString
        End If
        Row("Nota") = Personal.observacionesinterno


        dtt_DataTable.Rows.Add(Row)
        'ulg_Lista.Rows(ulg_Lista.Rows.Count - 1).Height = 19
        Return Row
    End Function

    Public Sub ModificarItem(ByRef Personal As cls_personal_, ByRef ulg_row As DataRow)
        ulg_row("Identificador (ID)") = Personal.idpersonal
        ulg_row("Apellido") = Personal.tercero.apellido
        ulg_row("Nombres") = Personal.tercero.nombres
        ulg_row("Iniciales/Apodo") = Personal.iniciales
        'ulg_row("Celular (Empresa)") = Personal.tercero.telefonoprimario.ToString
        ulg_row("Interno") = Personal.numerointerno
        ulg_row("Horario") = Personal.tercero.horario
        ulg_row("Fecha de Nacimiento") = Personal.fechanacimiento
        Dim Años As Object
        Años = DateDiff("yyyy", Personal.fechanacimiento, Now)
        If Now.Date < DateSerial(Year(Now), Month(Personal.fechanacimiento), Personal.fechanacimiento.Day) Then
            Años = Años - 1
        End If
        ulg_row("Edad") = CInt(Años)
        'ulg_row("E-mail (Empresa)")
        If Not IsNothing(Personal.gerencia) Then
            ulg_row("Gerencia") = Personal.gerencia.ToString
        End If
        If Not IsNothing(Personal.sector) Then
            ulg_row("Sector") = Personal.sector.ToString
        End If
        If Not IsNothing(Personal.tercero.emailprimario) Then
            ulg_row("Cargo") = Personal.cargo.ToString
        End If
        If Not IsNothing(Personal.centrocostoorden) Then
            ulg_row("Centro de Costo") = Personal.centrocostoorden.ToString
        End If
        ulg_row("Nota") = Personal.observacionesinterno

    End Sub

    Dim idTipoEmailEmpresa As Integer = 0
    Dim idTipoTelefonoEmpresa As Integer = 0

    Public Sub New()

        Me.Cursor = Cursors.WaitCursor
        InitializeComponent()
        Dim config_parametro As New cls_config_parametro_
        idTipoEmailEmpresa = config_parametro.Buscar("mailEmpresa").valor
        idTipoTelefonoEmpresa = config_parametro.Buscar("celularEmpresa").valor

        PERMISONuevo = "006001002"
        PERMISOModificar = "006001003"
        PERMISOEliminar = "006001004"
        PERMISOImprimir = "006001005"
        Me.Text = lbl_modulo.Text : lbl_modulodescripcion.Text = "Listado de " & lbl_modulo.Text & "."
        IniciarLista()
        Me.Cursor = Cursors.Default
        bbi_Nuevo.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
        bbi_eliminar.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
        txt_filtrarcol1.Left -= 71
        'BarStaticItem1.Width += 80
        StandaloneBarDockControl2.Left -= 71
    End Sub

    Public Overrides Sub bbi_Modificar_ItemClick(ByVal sender As System.Object, ByVal e As DevExpress.XtraBars.ItemClickEventArgs)
        If ComprobarPermiso(PERMISOModificar) Then
            Try
                Dim barrio As New cls_personal_
                If gdv_general.SelectedRowsCount > 0 Then
                    If barrio.Buscar(gdv_general.GetDataRow(gdv_general.GetSelectedRows(0))("Identificador (ID)")) Then
                        bsi_estado.Caption = "Cargando..."
                        Application.DoEvents()
                        Dim ABM As New xtf_ABMpersonalInterno
                        ABM.Modificar(barrio, Me, gdv_general.GetDataRow(gdv_general.GetSelectedRows(0)))
                        bsi_estado.Caption = "Listo"
                    End If
                End If
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
        End If
    End Sub

    Private Sub bbi_ordenar_ItemClick(ByVal sender As System.Object, ByVal e As DevExpress.XtraBars.ItemClickEventArgs) Handles bbi_ordenar.ItemClick
        ErrManagerShow("000011", Me)
    End Sub

    Private Sub bbi_agrupar_ItemClick(ByVal sender As System.Object, ByVal e As DevExpress.XtraBars.ItemClickEventArgs) Handles bbi_agrupar.ItemClick
        ErrManagerShow("000011", Me)
    End Sub
End Class